namespace Oops.Xna.Framework.Physics
{
	/// <summary>
	/// Defines the contract for a observer of the <see cref="PhysicsComponent"/>.
	/// </summary>
	public interface IPhysicsListener
	{
		/// <summary>
		/// Called before a simulation step occurs.
		/// </summary>
		/// <param name="elapsed">The simulation step's total elapsed time.</param>
		void PreStep(float elapsed);

		/// <summary>
		/// Called after a simulation step completes.
		/// </summary>
		/// <param name="elapsed">The simulation step's total elapsed time.</param>
		void PostStep(float elapsed);
	}
}
